home *** CD-ROM | disk | FTP | other *** search
/ Alles Voor Internet / Tout Pour Internet / alles voor internet.iso / MacInternet™ / Net / Utilities / Seer family 2.0 / docs / unloved files / nbp_test.c next >
Encoding:
C/C++ Source or Header  |  1987-08-29  |  1.8 KB  |  68 lines  |  [TEXT/KAHL]

  1. /*
  2.     test problems with asserting a nbp name
  3.     Written in LightSpeedC
  4.     by Aaron Wohl
  5. */
  6. #include <stdio.h>
  7. #include <AppleTalk.h>
  8. #define NIL 0L
  9. int printf(char *,...);
  10. static int last_os_error;
  11. static int my_socket;
  12. EntityName nbp_name_storage;
  13.  
  14. #define ner(xxx,yyyy) {if((last_os_error=(xxx))!=noErr)fatal(yyyy);}
  15.  
  16. /* handle an unexpected system call error */
  17. void fatal(char *);
  18. void fatal(str)
  19. char *str;
  20. {printf("system call %s failed with error %d\n",str,last_os_error);
  21.  ExitToShell();
  22. }
  23.  
  24. /* assert an nbp name for a port */
  25. void assert_nbp_name(char *,char *,char *);
  26. void assert_nbp_name(aname,atype,azone)
  27. char *aname;
  28. char *atype;
  29. char *azone;
  30. {ABRecHandle arec;
  31.  nbpProto *apt;
  32.  EntityName my_ent;
  33.  /* setup the name to assert */
  34.  BlockMove(aname,&my_ent.objStr,*aname);
  35.  BlockMove(atype,&my_ent.typeStr,*atype);
  36.  BlockMove(azone,&my_ent.zoneStr,*azone);
  37.  
  38.  arec= (ABRecHandle) NewHandle(sizeof(ABusRecord));
  39.  HLock(arec);            /* initilize the applebus record */
  40.  apt = &(*arec)->nbpProto;
  41.  apt->abUserReference= 23L;    /* a random number for the user refrence */
  42.  apt->nbpEntityPtr= &my_ent;
  43.  apt->nbpBufPtr=(Ptr)&nbp_name_storage;
  44.  apt->nbpBufSize=sizeof(nbp_name_storage);
  45.  apt->nbpDataField=0;        /* not used for register call */
  46.  apt->nbpAddress.aSocket=my_socket;
  47.  apt->nbpRetransmitInfo.retransInterval=80;    /* every 640 for a long time */
  48.  apt->nbpRetransmitInfo.retransCount=1;
  49.  HUnlock(arec);
  50.  
  51.  /* register the name */
  52.  printf("registering name\n");
  53.  ner(NBPRegister(arec,FALSE),"NBPRegister");
  54.  DisposHandle(arec);
  55. }
  56.  
  57. void main(void);
  58. void main()
  59. {printf("opening mpp\n");
  60.  ner(MPPOpen(),"MPPOpen");    /* appletalk and nbp started */
  61.  printf("opening nbp\n");
  62.  ner(NBPLoad(),"NBPLoad");
  63.  my_socket=0;        /* make up a socket */
  64.  ner(DDPOpenSocket(&my_socket,NIL),"DDPOpenSocket");
  65.  printf("opened socket %d\n",my_socket);
  66.  assert_nbp_name("\ptest_prog","\pfrots_type","\p*");
  67. }
  68.